Data tables can be used in various electronic and computer devices to store data in an organized manner so that specific data elements can later be retrieved. For example, network devices can contain large data tables that can include forwarding tables that can store and/or update identifiers associated with forwarding of network data to other interconnected network devices. These identifiers can indicate destinations (or destinations of next hops along a route through a network) to the other network devices. Several different techniques can be used to efficiently and quickly locate identifiers in a forwarding table. One such technique is through the use of hash functions to produce a hash value that can be used as an index to a specific entry in a forwarding table. However, it can be difficult to create a perfect hashing function that can create a hash value corresponding to all entries in a forwarding table for a given input data set. Therefore, entries in the forwarding table can go unused, resulting in inefficient use of memory for implementation of the forwarding table. Thus, there is need for improvement in the field of data table allocation.